Articles

HacktoriaのNaval Intrusionに挑戦してみた

HacktoriaとはOSINTメインのCTFサイトです。プレイヤーがOSINTに集中できるように世界観やストーリーなどが作りこまれています。
プレイヤーは “SERPENT: Special Espionage, Reconnaissance, Protection, Enforcement, and Neutralization Taskforce” の捜査エージェントKになりきって問題を解いていく感じです。
詳しいことは以下のリンクに書いてあります。

登場人物や組織の設定など

プレイするのは簡単でcontractsから問題内容が書かれたZIPファイルをダウンロードするだけです。

今回挑戦する問題

その中でも今回はNaval Intrusionに挑戦してみました。

ファイルをダウンロードして展開すると問題と同じ名前のPDFがあります。

ファイルをダウンロードして展開したあと

PDFを開くと、今回のミッションの内容やFlag形式、捜査のための資料などが記載されています。

ミッションが書かれたPDF

ChatGPTで翻訳したミッションの内容を下記に載せます。

特別捜査官、ごきげんよう。

本日は、特別な案件が入っています。

島国・台湾をめぐる緊張が日に日に高まるなか、同盟国から我々へ支援要請が寄せられることも増えています。本日も例外ではありません。

今朝、台北標準時09時43分、台湾海軍が台湾の領海へ侵入する外国船を確認しました。

接触を試みたところ、その船は西へ進路を取り、公海へ向かいました。しかし、無人航空機(UAV)が出動し、船舶の写真を撮影することに成功しました。

その船は自らの所属や正体を明らかにしませんでした。また、世界各国の海軍が運用している既知の艦船データベースとも一致しません。

複数の艦船とよく似ていますが、別の目的のために改造されているように見えます。

台湾政府は、この船舶の元となったメーカーとモデルを特定するため、我々と契約を結びました。

いつもどおり、特別捜査官。この契約を受けるかどうかは、あなた次第です。

資料 ship-image-01.png

艦船を撮影した画像ファイルです。

回答方法

答えを使用して、フラグファイルのロックを解除してください。解除に成功すると、バッジが付与されます。

回答形式 type-123a-nato-reporting-name 回答例 type-555a-kingkong-IV

つまり、回答はおそらく次の構造です。

艦級・型式-NATO報告名称

大文字・小文字やハイフンの位置も、指定どおりに入力する必要がありそうです。

フラグファイル

フラグファイルは、パスワードで暗号化されたZIPファイルです。

使用しているOSがZIP形式をサポートしていることを確認してください。また、パスワードに空白や改行などの不可視文字が含まれていないことを確認してください。

これは台湾の領海へ侵入した船舶を特定する問題のようです。
ほかには手掛かりとなる船舶の画像や回答形式が指定されていました。

提供された艦船の画像

船とか飛行機とか何も詳しくないのでとりあえずGoogle 画像検索にかけます。

Googleの検索結果

そしたら一発で答えが出てきました。最近のGoogle検索すごいですね。
どうやら中国人民解放軍海軍の054A型フリゲートと呼ばれる艦艇のようです。NATO報告名は江凱II型(Jiangkai II)

ただ、念のため検索結果を断定をせずに船の形状などを江凱II型を扱ったニュース記事やWikiの写真とも比較して確認しました。

指定されたFlag形式に従うとFlagはtype-054a-jiangkai-IIのようです。

無事、Flagファイルを展開することができました。🎉

HacktoriaではFlagバッジをHacktoriaのDiscordサーバーの「card-brag」チャンネルに投稿すると経験値とコインが貰えるみたいです。コインはCTFのヒントに使えるみたいです。 早速サーバーに参加して投稿してみます。

Flagをチャンネルに投稿した

経験値とコインが手に入りました!

感想

ずっと挑戦してみたかったHacktoriaに参戦できてよかったです。 多分、この問題はAIが出る前ならもう少し手間がかかったのかなと思いました。(今は画像検索とAIによる解説で一発で判明してしまう……) ただ、AIや検索が常に正しいとは限らないので複数ソースを見ることは必要なんだと思います。